package com.example.demo.pojo;

import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;

/**
 * 用户的 实体类 , 包含用户的基本信息
 *
 * @author 刘二朋
 * @date 2020-11-27 9:32
 */
//声明此对象映射的数据库的数据表 ,
@Table(name = "user")
//默认生成全参数的构造器
@AllArgsConstructor
// 默认生成无参数的构造器
@NoArgsConstructor
//每一个持久化类POJO都是一个实体类 , 通过该类的定义使用注解来声明
@Entity
// 默认生成 set get方法 , equest方法...
@Data
public class User {

    /**
     * 用户的id
     */
    @Id
//    自增长主键
//    @GeneratedValue(strategy = GenerationType.IDENTITY)
//    在json序列化时将pojo中的一些属性忽略掉，标记在属性或者方法上，返回的json数据即不包含该属性。
//    @JsonIgnore
    private String id;

    /**
     * 用户的昵称
     */
    private String name;

    /**
     * 用户的密码
     */
//    @JsonProperty(access = JsonProperty.Access.WRITE_ONLY)
    private String password;

    /**
     * 用户的头像
     */
    private String avater;

}
